package cc.rengu.igas.smps.facade;

import cc.rengu.igas.smps.facade.request.AliyunIotMsgPushRequest;
import cc.rengu.igas.smps.facade.request.InspiryVoicePushRequest;
import cc.rengu.igas.smps.facade.request.SunyardVoicePushRequest;
import cc.rengu.igas.smps.facade.request.TransResultNoticeRequest;
import cc.rengu.igas.smps.facade.response.AliyunIotMsgPushResponse;
import cc.rengu.igas.smps.facade.response.InspiryVoicePushResponse;
import cc.rengu.igas.smps.facade.response.SunyardVoicePushResponse;
import cc.rengu.igas.smps.facade.response.TransResultNoticeResponse;
import cc.rengu.igas.smps.facade.result.Result;

/**
 * 消息推送通知服务
 * Created by 王成 on 2020/2/27
 */
public interface MsgPushService {
    /**
     * 商户交易结果通知
     *
     * @param transResultNoticeRequest 消息推送内容
     * @return 消息推送应答结果
     */
    Result<TransResultNoticeResponse> mchntTransResultNotice(TransResultNoticeRequest transResultNoticeRequest);

    /**
     * 阿里云物联网消息推送
     *
     * @param aliyunIotMsgPushRequest 消息推送请求信息
     * @return 消息推送应答结果
     */
    Result<AliyunIotMsgPushResponse> aliyunIotMsgPush(AliyunIotMsgPushRequest aliyunIotMsgPushRequest);

    /**
     * 信雅达语音推送
     *
     * @param sunyardVoicePushRequest 消息推送请求信息
     * @return 消息推送应答结果
     */
    Result<SunyardVoicePushResponse> sunyardVoicePush(SunyardVoicePushRequest sunyardVoicePushRequest);

    /**
     * 意锐语音推送
     *
     * @param inspiryVoicePushRequest 消息推送请求信息
     * @return 消息推送应答结果
     */
    Result<InspiryVoicePushResponse> inspiryVoicePush(InspiryVoicePushRequest inspiryVoicePushRequest);
}
